Repository navigation
fix: preserve interleaved named-list fill positions - #1298
Open
qiaolezi001 wants to merge 3 commits into
Open
qiaolezi001 wants to merge 3 commits into
qiaolezi001 wants to merge 3 commits into
Conversation
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are reported for the changes preserving named-list append positions during interleaved template fills.
No open issues 🎉
What changed in this PR
Fixes #1295 by preserving each named list’s append position when interleaved template fills insert rows, preventing previously written records from being overwritten.
Changes:
- Uses identity-based cell caches and shifts saved fill coordinates with rows on the same sheet.
- Adds workbook regression tests covering fill order, horizontal lists, formatting, footers, and sheet isolation across XLS/XLSX and both memory modes.
- Documents interleaved pagination and memory considerations in English and Chinese.
| File | Description |
|---|---|
| website/i18n/zh-cn/docusaurus-plugin-content-docs/current/sheet/fill/fill.md | Adds Chinese guidance for interleaved pagination. |
| website/docs/sheet/fill/fill.md | Adds English guidance for interleaved pagination. |
| fesod-sheet/src/test/java/org/apache/fesod/sheet/style/InterleavedFillTest.java | Adds 20 parameterized workbook regression cases. |
| fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteFillExecutor.java | Preserves cached positions and styles when template rows move. |
Review effort: Balanced
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose of the pull request
Fixes #1295.
Alternating pages between named template lists can overwrite a lower list's existing records after an upper list inserts rows. Preserve each list's append position so every supplied record survives.
What's changed?
AnalysisCelllookup; the public equality contract remains unchanged.Validation on JDK 25 (project Java 8 target):
./mvnw clean package -pl fesod-common,fesod-shaded,fesod-sheet: 1,869 tests, zero failures, errors or skips. No test groups excluded; the normal Jazzer seed regressions ran, rather than a timed fuzz campaign.spotless:check, Hawkeye 7.0.0check, andgit diff --checkpass.Checklist
Local validation used the JDK25 runtime and isolated Maven cache/temp directories. The remote JDK8/11/17/21/25 matrix, website build and timed fuzz campaign remain for CI or separate validation.
Generated-by: AI